/**
 * @file dht11.h
 * @brief DHT11传感器驱动头文件
 * 
 * 声明DHT11传感器驱动相关的函数和数据结构。
 */

#ifndef DHT11_H
#define DHT11_H

#include "esp_err.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @brief DHT11数据结构
 */
typedef struct {
    float humidity;             ///< 湿度（整数部分）
    float humidity_decimal;     ///< 湿度（小数部分）
    float temperature;          ///< 温度（整数部分）
    float temperature_decimal;  ///< 温度（小数部分）
} dht11_data_t;

/**
 * @brief 读取DHT11传感器数据
 * 
 * @param data 存储读取数据的结构体指针
 * @return esp_err_t ESP_OK表示成功，其他表示失败
 */
esp_err_t dht11_read_data(dht11_data_t *data);

#ifdef __cplusplus
}
#endif

#endif // DHT11_H